package chat.fullduplex;

/**
 * Represents the behaviour that all chat endpoints must implement for the ReadFromXXX
 * classes.
 * 
 * Concretely, I needed this because I use the same <code>ReadFromConsole</code> and 
 * <code>ReadFromRemote</code> classes for my client and server and I need to be 
 * able to tell both of them to "quit" BUT they have different quit behavior. 
 * This gives me a recognisable pattern of a SINGLE interface with MULTIPLE 
 * implementations : Polymorphism. 
 * 
 * This interface (pure abstract class) defines the single interface that will be
 * implemented differently by the chat server and client.
 * 
 * @author Justin Templemore
 *
 */
public interface LocalChatEndPoint 
{
	/**
	 * This method is called when a Reader detects the end of the connection (failed
	 * or closed).
	 */
	void quit();
}
